﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Kugar.Core.Security
{
    /// <summary>
    ///     权限控制的提供器,用于提供用户权限检查、分组管理以及特别指派权限管理，并且允许创建特定用户的权限检查接口
    /// </summary>
    public interface IPermissionProvider
    {
        bool CheckUser(string userName, string password);

        /// <summary>
        ///     返回指定用户ID的权限验证类
        /// </summary>
        /// <param name="userID">用户ID</param>
        /// <returns></returns>
        IUserPermissionChecker GetUserPermissionProvider(int userID);


        IUserGroupManager GroupManager { get; }

        IUserSpecialManager UserSpecialPermissionManager { get; }

        IPermissionCheckProvider PermissionManager { get; }
    }


}
